技術文章
技術問答
My Project
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
文章
問答
Tag
邦友
鐵人賽
搜尋
0
作業系統L5-行程排班
作業系統
蔡基
2022-01-06 00:20:25
‧
20720 瀏覽
分享至
作業系統L5-行程排班
CPU-I/O分割
簡介:CPU分割後接著IO分割
CPU排班程式
短程排班程式(Short-term scheduler)
:就緒佇列選出形成配置CPU給他,包含轉換內容(context switch),轉換成使用者模式
CPU排班決策時刻
執行->等待(不可搶先nonpreemptive)
執行->就緒(可搶先preemptive)
等待->就緒(可搶先preemptive)
形成終止(不可搶先nonpreemptive)
分派潛伏期(dispatchlatency)
:分派程式用來停止一個行程,並開始另一個行程所用的時間
排班原則
CPU使用率(CPU Utilization)
產量(Throughput)
回復時間(Turnaround Time)
等候時間(Waiting Time)
反應時間(Response Time)
排班演算法
先來先做(FCFS)
等待時間:P1= 0; P2= 24; P3 = 27
平均等待時間:(0 + 24 + 27)/3 = 17
護送現象(convoyeffect)
:短行程在長行程前面
最短工作先做(SJF)
平均等待時間= (3 + 16 + 9 + 0) / 4 = 7
分割時間:預估接近前一次的長度
平均等待時間= [(10-1)+(1-1)+(17-2)+(5-3)]/4=26/4=6.5
優先權排班
每個行程都有優先權數字(越小=>越高優先權)
飢餓(Starvation)
:低優先權行程可能永遠無法執行
老化(Aging)
:隨著時間提高優先權
平均等待時間=8.2
依序循環(Round Robin, RR)
簡介:每個行程分一小段
時間量(time quantum)q
,用完行程會被搶先,加到就緒佇列的尾端
多層佇列
簡介:分為多個獨立佇列,EX前景 背景
執行緒排班
行程競爭範圍(process-contentionscope, PCS)
系統競爭範圍(system-contentionscope, SCS)
多處理器
同質處理器(Homogeneous Processors)
:考慮所有處理器都相同
非對稱多元處理(Asymmetric Multiprocessing)
:一個主處理器負責排班決定、I/O處理、其它系統活動,其他只執行使用者程式碼
對稱多元處理(Symmetric Multiprocessing)
:每一個處理器自行排班
處理器親和性
軟性親和性(soft affinity)
:保持一個行程在相同處理器上執行,但不保證它會永遠這麼做
硬性親和性(hard affinity)
:指定處理器能夠執行特定行程
非均勻記憶體存取(non-uniform memory access
負載平衡(Load balancing )
:試著讓工作量平均分布
推轉移(Push migration)
:將過度負載CPU的行程推到其它CPU
拉轉移(Pull migration)
:閒置處理器從忙碌處理器拉任務
利用記憶體停滯
:另一個硬體執行緒在記憶體存取發生時執行
即時CPU排班(Real-time System)
軟即時系統
:對於非常即時的行程排班沒有提供保證
硬即時系統
–任務必須在指定的限期內被服務
中斷潛伏期(Interrupt Latency)
:中斷到達到開始執行中斷服務常式的時間
分派潛伏期(Dispatch Latency)
:停止目前行程並且啟動另一個行程的排班時間
單調速率排班演算法
單調速率排班而延誤截止期限
簡介:根據行程週期的反比設定優先權
P1週期是50,P2週期是80,P1被設定優先權高於P2,P1處理時間25,P2處理時間35
最早截止期限優先排班(EDF)
簡介:優先權是根據截止期限設定
P1週期是50,P2週期是80,P1被設定優先權高於P2,P1處理時間25,P2處理時間35
留言
追蹤
檢舉
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
WSUS伺服器近期客戶端更新都會出現0x80244010
vs code不能執行npm找了很多方法
outlook2024 郵件圖檔無法顯示的情況
哪款防毒+EDR+雲端中控台比較好用?
熱門回答
vs code不能執行npm找了很多方法
WSUS伺服器近期客戶端更新都會出現0x80244010
outlook2024 郵件圖檔無法顯示的情況
熱門文章
【 AI Agents 架構】很多人都在談 Loop Engineering,但實際上到底要怎麼做?
[Tedium Is Stability-02] 與 AI 一起開發,看見冰山:一個「功能」,其實是一組沒說出口的隱形契約
【AI Agent 架構】從 0 開始學 AI Agent ,含 22 章完整教學
清洗 14 年台灣實價登錄資料,我踩到的坑
龜先生奧援開發到底花生省魔術:#1 開工吧?
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}